php定界符<<<EOF(heredoc)资料整理
最近学习php看到PHP EOF(heredoc)的使用说明后我很感兴趣,奈何教程说的太深奥,有很多不明白,也有很多疑问,教程里说PHP EOF(heredoc)是一种在命令行shell(如sh、csh、ksh、bash、PowerShell和zsh)和程序语言(像Perl、PHP、Python和Ruby)里定义一个字符串的方法,也许其他人懂了意思,但是我更迷茫了,因为我不知道命令行shell是啥意思,其他的程序语言我也没学过,这个解释我一点都没看懂,也许是自己底子薄,知道的少,只好网上搜罗整理下,加深下记忆。
PHP Heredoc(Here Document)语法定义一个多行的字符串,这个字符串可以跨越多行,PHP EOF也叫定界符是用来保留文本中的格式,使用定界符可以不使用转义字符(\),适合构建HTML模板、生成邮件内容或构建复杂的字符串输出。它提供了一种清晰和灵活的方式来处理字符串,使代码更加易于阅读和维护。PHP中有两种定界符:heredoc(双引号定界符)和nowdoc(单引号定界符)
实例:
<?php
$name = "吹牛部落";
$test=<<<EOF
EOF可以换成任意字符,保证结束标识与开始标识一致
"我的网站名字叫" $name
变量可以被正常解析,但是函数则不可以 在heredoc中,变量不需要用连接符 . 或 , 来拼接
// 结束的EOF需要独立一行顶头写,且前后不能有任何字符(包括空格和制表符)且在结束标记末尾要有分号。
<h3>html格式会被解析</h3>
双引号和Html格式外的其他内容都不会被解析
"双引号外所有被排列好的格式都会被保留"
"但是双引号内会保留转义符的转义效果,比如table:\t和换行:\n下一行"
EOF;
echo $test;
?>
浏览器输出效果: